Barcodes, which also include matrix codes such as QR codes, are computer-readable symbols that represent information encoded using a visual symbology, which is displayed on a surface. A visual symbology is a visual object of any size or shape that is composed of modules having binary reflective values (for example, black or white).
Barcodes have historically mostly been used for identifying and tracking items such as commercial goods, and in fields such as healthcare, computer programming, and mail/package delivery. Devices configured to read barcodes are usually special-purpose devices used by businesses or other organizations to retrieve and manage the information encoded by barcodes. Recently, there has been an increase in the use of barcodes on business cards, signage, and the like, to transfer encoded personal and business information (such as contact information and URLs) to individuals that use camera-equipped electronic devices such as mobile phones, personal digital assistants, media players, and the like to obtain images of the barcodes. Decoding the barcode images obtained by individuals using camera-equipped devices, however, can be problematic.
Existing decoding techniques are often only able to decode images captured via a macrolens, which is a lens optimized to focus sharply on a small area relative to the size of the image capture medium. Barcode images captured with other types of lenses—widely present in mobile phones and other electronic devices—are often too blurry to be reliably decoded. Moreover, existing decoding techniques may be inefficient, generally consuming relatively large amounts of resources such as power and processing resources, which are available in limited supply on many portable devices.
Variations in camera orientation with respect to the surface upon which a particular barcode is displayed (for example, variable tilts or distances) can also negatively affect the reliability or efficiency of existing decoding techniques, and users do not always know, or understand how to achieve, the most desirable camera orientations.